/*
*
* SPDX-License-Identifier: GPL-2.0
*
* Copyright (C) 2011-2018 ARM or its affiliates
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2.
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/

#if !defined(__IMX415_SENSOR_H__)
#define __IMX415_SENSOR_H__


/*-----------------------------------------------------------------------------
Initialization sequence - do not edit
-----------------------------------------------------------------------------*/

#include "sensor_init.h"

/* mclk:24MHz */
static acam_reg_t linear_4k_30fps_1440Mbps_2lane_10bits[] = {
	{0x3000, 0x01, 0xff, 1}, /* standby */
	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1}, /* XTMSTA */

	{0x3008, 0x54, 0xff, 1},
	{0x300A, 0x3B, 0xff, 1},
	{0x3024, 0xCB, 0xff, 1},
	{0x3028, 0x2A, 0xff, 1},
	{0x3029, 0x04, 0xff, 1},
	{0x3031, 0x00, 0xff, 1},
	{0x3032, 0x00, 0xff, 1},
	{0x3033, 0x08, 0xff, 1},
	{0x3050, 0x08, 0xff, 1},
	{0x30C1, 0x00, 0xff, 1},
	{0x3116, 0x23, 0xff, 1},
	{0x3118, 0xB4, 0xff, 1},
	{0x311A, 0xFC, 0xff, 1},
	{0x311E, 0x23, 0xff, 1},
	{0x32D4, 0x21, 0xff, 1},
	{0x32EC, 0xA1, 0xff, 1},
	{0x3452, 0x7F, 0xff, 1},
	{0x3453, 0x03, 0xff, 1},
	{0x358A, 0x04, 0xff, 1},
	{0x35A1, 0x02, 0xff, 1},
	{0x36BC, 0x0C, 0xff, 1},
	{0x36CC, 0x53, 0xff, 1},
	{0x36CD, 0x00, 0xff, 1},
	{0x36CE, 0x3C, 0xff, 1},
	{0x36D0, 0x8C, 0xff, 1},
	{0x36D1, 0x00, 0xff, 1},
	{0x36D2, 0x71, 0xff, 1},
	{0x36D4, 0x3C, 0xff, 1},
	{0x36D6, 0x53, 0xff, 1},
	{0x36D7, 0x00, 0xff, 1},
	{0x36D8, 0x71, 0xff, 1},
	{0x36DA, 0x8C, 0xff, 1},
	{0x36DB, 0x00, 0xff, 1},
	{0x3701, 0x00, 0xff, 1},
	{0x3724, 0x02, 0xff, 1},
	{0x3726, 0x02, 0xff, 1},
	{0x3732, 0x02, 0xff, 1},
	{0x3734, 0x03, 0xff, 1},
	{0x3736, 0x03, 0xff, 1},
	{0x3742, 0x03, 0xff, 1},
	{0x3862, 0xE0, 0xff, 1},
	{0x38CC, 0x30, 0xff, 1},
	{0x38CD, 0x2F, 0xff, 1},
	{0x395C, 0x0C, 0xff, 1},
	{0x3A42, 0xD1, 0xff, 1},
	{0x3A4C, 0x77, 0xff, 1},
	{0x3AE0, 0x02, 0xff, 1},
	{0x3AEC, 0x0C, 0xff, 1},
	{0x3B00, 0x2E, 0xff, 1},
	{0x3B06, 0x29, 0xff, 1},
	{0x3B98, 0x25, 0xff, 1},
	{0x3B99, 0x21, 0xff, 1},
	{0x3B9B, 0x13, 0xff, 1},
	{0x3B9C, 0x13, 0xff, 1},
	{0x3B9D, 0x13, 0xff, 1},
	{0x3B9E, 0x13, 0xff, 1},
	{0x3BA1, 0x00, 0xff, 1},
	{0x3BA2, 0x06, 0xff, 1},
	{0x3BA3, 0x0B, 0xff, 1},
	{0x3BA4, 0x10, 0xff, 1},
	{0x3BA5, 0x14, 0xff, 1},
	{0x3BA6, 0x18, 0xff, 1},
	{0x3BA7, 0x1A, 0xff, 1},
	{0x3BA8, 0x1A, 0xff, 1},
	{0x3BA9, 0x1A, 0xff, 1},
	{0x3BAC, 0xED, 0xff, 1},
	{0x3BAD, 0x01, 0xff, 1},
	{0x3BAE, 0xF6, 0xff, 1},
	{0x3BAF, 0x02, 0xff, 1},
	{0x3BB0, 0xA2, 0xff, 1},
	{0x3BB1, 0x03, 0xff, 1},
	{0x3BB2, 0xE0, 0xff, 1},
	{0x3BB3, 0x03, 0xff, 1},
	{0x3BB4, 0xE0, 0xff, 1},
	{0x3BB5, 0x03, 0xff, 1},
	{0x3BB6, 0xE0, 0xff, 1},
	{0x3BB7, 0x03, 0xff, 1},
	{0x3BB8, 0xE0, 0xff, 1},
	{0x3BBA, 0xE0, 0xff, 1},
	{0x3BBC, 0xDA, 0xff, 1},
	{0x3BBE, 0x88, 0xff, 1},
	{0x3BC0, 0x44, 0xff, 1},
	{0x3BC2, 0x7B, 0xff, 1},
	{0x3BC4, 0xA2, 0xff, 1},
	{0x3BC8, 0xBD, 0xff, 1},
	{0x3BCA, 0xBD, 0xff, 1},
	{0x4001, 0x01, 0xff, 1},
	{0x4004, 0x00, 0xff, 1},
	{0x4005, 0x06, 0xff, 1},
	{0x4018, 0x9F, 0xff, 1},
	{0x401A, 0x57, 0xff, 1},
	{0x401C, 0x57, 0xff, 1},
	{0x401E, 0x87, 0xff, 1},
	{0x4020, 0x5F, 0xff, 1},
	{0x4022, 0xA7, 0xff, 1},
	{0x4024, 0x5F, 0xff, 1},
	{0x4026, 0x97, 0xff, 1},
	{0x4028, 0x4F, 0xff, 1},

	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1},
    {0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t linear_1080p_30fps_1440Mbps_4lane_12bits[] = {
	{0x3000, 0x01, 0xff, 1}, /* standby */
	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1}, /* XTMSTA */

	{0x3008, 0x54, 0xff, 1},
	{0x300A, 0x3B, 0xff, 1},
	{0x301C, 0x04, 0xff, 1},
	{0x3024, 0xCB, 0xff, 1},
	{0x3028, 0x2A, 0xff, 1},
	{0x3029, 0x04, 0xff, 1},
	{0x3033, 0x08, 0xff, 1},
	{0x3040, 0xCC, 0xff, 1},
	{0x3041, 0x03, 0xff, 1},
	{0x3042, 0x80, 0xff, 1},
	{0x3043, 0x07, 0xff, 1},
	{0x3044, 0x58, 0xff, 1},
	{0x3045, 0x04, 0xff, 1},
	{0x3046, 0x70, 0xff, 1},
	{0x3047, 0x08, 0xff, 1},
	{0x3050, 0x08, 0xff, 1},
	{0x30C1, 0x00, 0xff, 1},
	{0x3116, 0x23, 0xff, 1},
	{0x3118, 0xB4, 0xff, 1},
	{0x311A, 0xFC, 0xff, 1},
	{0x311E, 0x23, 0xff, 1},
	{0x32D4, 0x21, 0xff, 1},
	{0x32EC, 0xA1, 0xff, 1},
	{0x3452, 0x7F, 0xff, 1},
	{0x3453, 0x03, 0xff, 1},
	{0x358A, 0x04, 0xff, 1},
	{0x35A1, 0x02, 0xff, 1},
	{0x36BC, 0x0C, 0xff, 1},
	{0x36CC, 0x53, 0xff, 1},
	{0x36CD, 0x00, 0xff, 1},
	{0x36CE, 0x3C, 0xff, 1},
	{0x36D0, 0x8C, 0xff, 1},
	{0x36D1, 0x00, 0xff, 1},
	{0x36D2, 0x71, 0xff, 1},
	{0x36D4, 0x3C, 0xff, 1},
	{0x36D6, 0x53, 0xff, 1},
	{0x36D7, 0x00, 0xff, 1},
	{0x36D8, 0x71, 0xff, 1},
	{0x36DA, 0x8C, 0xff, 1},
	{0x36DB, 0x00, 0xff, 1},
	{0x3724, 0x02, 0xff, 1},
	{0x3726, 0x02, 0xff, 1},
	{0x3732, 0x02, 0xff, 1},
	{0x3734, 0x03, 0xff, 1},
	{0x3736, 0x03, 0xff, 1},
	{0x3742, 0x03, 0xff, 1},
	{0x3862, 0xE0, 0xff, 1},
	{0x38CC, 0x30, 0xff, 1},
	{0x38CD, 0x2F, 0xff, 1},
	{0x395C, 0x0C, 0xff, 1},
	{0x3A42, 0xD1, 0xff, 1},
	{0x3A4C, 0x77, 0xff, 1},
	{0x3AE0, 0x02, 0xff, 1},
	{0x3AEC, 0x0C, 0xff, 1},
	{0x3B00, 0x2E, 0xff, 1},
	{0x3B06, 0x29, 0xff, 1},
	{0x3B98, 0x25, 0xff, 1},
	{0x3B99, 0x21, 0xff, 1},
	{0x3B9B, 0x13, 0xff, 1},
	{0x3B9C, 0x13, 0xff, 1},
	{0x3B9D, 0x13, 0xff, 1},
	{0x3B9E, 0x13, 0xff, 1},
	{0x3BA1, 0x00, 0xff, 1},
	{0x3BA2, 0x06, 0xff, 1},
	{0x3BA3, 0x0B, 0xff, 1},
	{0x3BA4, 0x10, 0xff, 1},
	{0x3BA5, 0x14, 0xff, 1},
	{0x3BA6, 0x18, 0xff, 1},
	{0x3BA7, 0x1A, 0xff, 1},
	{0x3BA8, 0x1A, 0xff, 1},
	{0x3BA9, 0x1A, 0xff, 1},
	{0x3BAC, 0xED, 0xff, 1},
	{0x3BAD, 0x01, 0xff, 1},
	{0x3BAE, 0xF6, 0xff, 1},
	{0x3BAF, 0x02, 0xff, 1},
	{0x3BB0, 0xA2, 0xff, 1},
	{0x3BB1, 0x03, 0xff, 1},
	{0x3BB2, 0xE0, 0xff, 1},
	{0x3BB3, 0x03, 0xff, 1},
	{0x3BB4, 0xE0, 0xff, 1},
	{0x3BB5, 0x03, 0xff, 1},
	{0x3BB6, 0xE0, 0xff, 1},
	{0x3BB7, 0x03, 0xff, 1},
	{0x3BB8, 0xE0, 0xff, 1},
	{0x3BBA, 0xE0, 0xff, 1},
	{0x3BBC, 0xDA, 0xff, 1},
	{0x3BBE, 0x88, 0xff, 1},
	{0x3BC0, 0x44, 0xff, 1},
	{0x3BC2, 0x7B, 0xff, 1},
	{0x3BC4, 0xA2, 0xff, 1},
	{0x3BC8, 0xBD, 0xff, 1},
	{0x3BCA, 0xBD, 0xff, 1},
	{0x4004, 0x00, 0xff, 1},
	{0x4005, 0x06, 0xff, 1},
	{0x4018, 0x9F, 0xff, 1},
	{0x401A, 0x57, 0xff, 1},
	{0x401C, 0x57, 0xff, 1},
	{0x401E, 0x87, 0xff, 1},
    {0x4020, 0x5F, 0xff, 1},
	{0x4022, 0xA7, 0xff, 1},
	{0x4024, 0x5F, 0xff, 1},
	{0x4026, 0x97, 0xff, 1},
	{0x4028, 0x4F, 0xff, 1},

	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1},
    {0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t dol2_1080p_30fps_1440Mbps_4lane_10bits[] = {
	{0x3000, 0x01, 0xff, 1}, /* standby */
	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1}, /* XTMSTA */

	{0x3008, 0x54, 0xff, 1},
	{0x300A, 0x3B, 0xff, 1},
	{0x301C, 0x04, 0xff, 1},
	{0x3023, 0x00, 0xff, 1},
	{0x3024, 0xC3, 0xff, 1},
	{0x3028, 0x17, 0xff, 1},
	{0x302C, 0x01, 0xff, 1},
	{0x302D, 0x01, 0xff, 1},
	{0x3031, 0x00, 0xff, 1},
	{0x3032, 0x00, 0xff, 1},
	{0x3033, 0x08, 0xff, 1},
	{0x3040, 0xCC, 0xff, 1},
	{0x3041, 0x03, 0xff, 1},
	{0x3042, 0x80, 0xff, 1},
	{0x3043, 0x07, 0xff, 1},
	{0x3044, 0x58, 0xff, 1},
	{0x3045, 0x04, 0xff, 1},
	{0x3046, 0x70, 0xff, 1},
	{0x3047, 0x08, 0xff, 1},
	{0x3050, 0xC2, 0xff, 1},
	{0x3051, 0x01, 0xff, 1},
	{0x3054, 0x09, 0xff, 1},
	{0x3060, 0x15, 0xff, 1},
	{0x3061, 0x01, 0xff, 1},
	{0x30C1, 0x00, 0xff, 1},
	{0x30CF, 0x01, 0xff, 1},
	{0x3116, 0x23, 0xff, 1},
	{0x3118, 0xB4, 0xff, 1},
	{0x311A, 0xFC, 0xff, 1},
	{0x311E, 0x23, 0xff, 1},
	{0x32D4, 0x21, 0xff, 1},
	{0x32EC, 0xA1, 0xff, 1},
	{0x3452, 0x7F, 0xff, 1},
	{0x3453, 0x03, 0xff, 1},
	{0x358A, 0x04, 0xff, 1},
	{0x35A1, 0x02, 0xff, 1},
	{0x36BC, 0x0C, 0xff, 1},
	{0x36CC, 0x53, 0xff, 1},
	{0x36CD, 0x00, 0xff, 1},
	{0x36CE, 0x3C, 0xff, 1},
	{0x36D0, 0x8C, 0xff, 1},
	{0x36D1, 0x00, 0xff, 1},
	{0x36D2, 0x71, 0xff, 1},
	{0x36D4, 0x3C, 0xff, 1},
	{0x36D6, 0x53, 0xff, 1},
	{0x36D7, 0x00, 0xff, 1},
	{0x36D8, 0x71, 0xff, 1},
	{0x36DA, 0x8C, 0xff, 1},
	{0x36DB, 0x00, 0xff, 1},
	{0x3701, 0x00, 0xff, 1},
	{0x3724, 0x02, 0xff, 1},
	{0x3726, 0x02, 0xff, 1},
	{0x3732, 0x02, 0xff, 1},
	{0x3734, 0x03, 0xff, 1},
	{0x3736, 0x03, 0xff, 1},
	{0x3742, 0x03, 0xff, 1},
	{0x3862, 0xE0, 0xff, 1},
	{0x38CC, 0x30, 0xff, 1},
	{0x38CD, 0x2F, 0xff, 1},
	{0x395C, 0x0C, 0xff, 1},
	{0x3A42, 0xD1, 0xff, 1},
	{0x3A4C, 0x77, 0xff, 1},
	{0x3AE0, 0x02, 0xff, 1},
	{0x3AEC, 0x0C, 0xff, 1},
	{0x3B00, 0x2E, 0xff, 1},
	{0x3B06, 0x29, 0xff, 1},
	{0x3B98, 0x25, 0xff, 1},
	{0x3B99, 0x21, 0xff, 1},
	{0x3B9B, 0x13, 0xff, 1},
	{0x3B9C, 0x13, 0xff, 1},
	{0x3B9D, 0x13, 0xff, 1},
	{0x3B9E, 0x13, 0xff, 1},
	{0x3BA1, 0x00, 0xff, 1},
	{0x3BA2, 0x06, 0xff, 1},
	{0x3BA3, 0x0B, 0xff, 1},
	{0x3BA4, 0x10, 0xff, 1},
	{0x3BA5, 0x14, 0xff, 1},
	{0x3BA6, 0x18, 0xff, 1},
	{0x3BA7, 0x1A, 0xff, 1},
	{0x3BA8, 0x1A, 0xff, 1},
	{0x3BA9, 0x1A, 0xff, 1},
	{0x3BAC, 0xED, 0xff, 1},
	{0x3BAD, 0x01, 0xff, 1},
	{0x3BAE, 0xF6, 0xff, 1},
	{0x3BAF, 0x02, 0xff, 1},
	{0x3BB0, 0xA2, 0xff, 1},
	{0x3BB1, 0x03, 0xff, 1},
	{0x3BB2, 0xE0, 0xff, 1},
	{0x3BB3, 0x03, 0xff, 1},
	{0x3BB4, 0xE0, 0xff, 1},
	{0x3BB5, 0x03, 0xff, 1},
	{0x3BB6, 0xE0, 0xff, 1},
	{0x3BB7, 0x03, 0xff, 1},
	{0x3BB8, 0xE0, 0xff, 1},
	{0x3BBA, 0xE0, 0xff, 1},
	{0x3BBC, 0xDA, 0xff, 1},
	{0x3BBE, 0x88, 0xff, 1},
	{0x3BC0, 0x44, 0xff, 1},
    {0x3BC2, 0x7B, 0xff, 1},
	{0x3BC4, 0xA2, 0xff, 1},
	{0x3BC8, 0xBD, 0xff, 1},
	{0x3BCA, 0xBD, 0xff, 1},
	{0x4004, 0x00, 0xff, 1},
	{0x4005, 0x06, 0xff, 1},
	{0x4018, 0x9F, 0xff, 1},
	{0x401A, 0x57, 0xff, 1},
	{0x401C, 0x57, 0xff, 1},
	{0x401E, 0x87, 0xff, 1},
	{0x4020, 0x5F, 0xff, 1},
	{0x4022, 0xA7, 0xff, 1},
	{0x4024, 0x5F, 0xff, 1},
	{0x4026, 0x97, 0xff, 1},
	{0x4028, 0x4F, 0xff, 1},

	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1},
	{0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t vc_4k_30fps_1440Mbps_4lane_10bits[] = {
	{0x3000, 0x01, 0xff, 1}, /* standby */
	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1}, /* XTMSTA */

	{0x3008, 0x54, 0xff, 1},
	{0x300A, 0x3B, 0xff, 1},
	{0x3024, 0xD0, 0xff, 1},
	{0x3028, 0x14, 0xff, 1},
	{0x302C, 0x01, 0xff, 1},
	{0x302D, 0x01, 0xff, 1},
	{0x3031, 0x00, 0xff, 1},
	{0x3032, 0x00, 0xff, 1},
	{0x3033, 0x08, 0xff, 1},
	{0x3050, 0x5C, 0xff, 1},
	{0x3051, 0x10, 0xff, 1},
	{0x3054, 0x09, 0xff, 1},
	{0x3060, 0x1D, 0xff, 1},
	{0x30C1, 0x00, 0xff, 1},
	{0x30CF, 0x01, 0xff, 1},
	{0x3116, 0x23, 0xff, 1},
	{0x3118, 0xB4, 0xff, 1},
	{0x311A, 0xFC, 0xff, 1},
	{0x311E, 0x23, 0xff, 1},
	{0x32D4, 0x21, 0xff, 1},
	{0x32EC, 0xA1, 0xff, 1},
	{0x3452, 0x7F, 0xff, 1},
	{0x3453, 0x03, 0xff, 1},
	{0x358A, 0x04, 0xff, 1},
	{0x35A1, 0x02, 0xff, 1},
	{0x36BC, 0x0C, 0xff, 1},
	{0x36CC, 0x53, 0xff, 1},
	{0x36CD, 0x00, 0xff, 1},
	{0x36CE, 0x3C, 0xff, 1},
	{0x36D0, 0x8C, 0xff, 1},
	{0x36D1, 0x00, 0xff, 1},
	{0x36D2, 0x71, 0xff, 1},
	{0x36D4, 0x3C, 0xff, 1},
	{0x36D6, 0x53, 0xff, 1},
	{0x36D7, 0x00, 0xff, 1},
	{0x36D8, 0x71, 0xff, 1},
	{0x36DA, 0x8C, 0xff, 1},
	{0x36DB, 0x00, 0xff, 1},
	{0x3701, 0x00, 0xff, 1},
	{0x3724, 0x02, 0xff, 1},
	{0x3726, 0x02, 0xff, 1},
	{0x3732, 0x02, 0xff, 1},
	{0x3734, 0x03, 0xff, 1},
	{0x3736, 0x03, 0xff, 1},
	{0x3742, 0x03, 0xff, 1},
	{0x3862, 0xE0, 0xff, 1},
	{0x38CC, 0x30, 0xff, 1},
	{0x38CD, 0x2F, 0xff, 1},
	{0x395C, 0x0C, 0xff, 1},
	{0x3A42, 0xD1, 0xff, 1},
	{0x3A4C, 0x77, 0xff, 1},
	{0x3AE0, 0x02, 0xff, 1},
	{0x3AEC, 0x0C, 0xff, 1},
	{0x3B00, 0x2E, 0xff, 1},
	{0x3B06, 0x29, 0xff, 1},
	{0x3B98, 0x25, 0xff, 1},
	{0x3B99, 0x21, 0xff, 1},
	{0x3B9B, 0x13, 0xff, 1},
	{0x3B9C, 0x13, 0xff, 1},
	{0x3B9D, 0x13, 0xff, 1},
	{0x3B9E, 0x13, 0xff, 1},
	{0x3BA1, 0x00, 0xff, 1},
	{0x3BA2, 0x06, 0xff, 1},
	{0x3BA3, 0x0B, 0xff, 1},
	{0x3BA4, 0x10, 0xff, 1},
	{0x3BA5, 0x14, 0xff, 1},
	{0x3BA6, 0x18, 0xff, 1},
	{0x3BA7, 0x1A, 0xff, 1},
	{0x3BA8, 0x1A, 0xff, 1},
	{0x3BA9, 0x1A, 0xff, 1},
	{0x3BAC, 0xED, 0xff, 1},
	{0x3BAD, 0x01, 0xff, 1},
	{0x3BAE, 0xF6, 0xff, 1},
	{0x3BAF, 0x02, 0xff, 1},
	{0x3BB0, 0xA2, 0xff, 1},
	{0x3BB1, 0x03, 0xff, 1},
	{0x3BB2, 0xE0, 0xff, 1},
	{0x3BB3, 0x03, 0xff, 1},
	{0x3BB4, 0xE0, 0xff, 1},
	{0x3BB5, 0x03, 0xff, 1},
	{0x3BB6, 0xE0, 0xff, 1},
	{0x3BB7, 0x03, 0xff, 1},
	{0x3BB8, 0xE0, 0xff, 1},
	{0x3BBA, 0xE0, 0xff, 1},
	{0x3BBC, 0xDA, 0xff, 1},
	{0x3BBE, 0x88, 0xff, 1},
	{0x3BC0, 0x44, 0xff, 1},
	{0x3BC2, 0x7B, 0xff, 1},
	{0x3BC4, 0xA2, 0xff, 1},
	{0x3BC8, 0xBD, 0xff, 1},
	{0x3BCA, 0xBD, 0xff, 1},
	{0x4004, 0x00, 0xff, 1},
	{0x4005, 0x06, 0xff, 1},
	{0x4018, 0x9F, 0xff, 1},
	{0x401A, 0x57, 0xff, 1},
	{0x401C, 0x57, 0xff, 1},
	{0x401E, 0x87, 0xff, 1},
	{0x4020, 0x5F, 0xff, 1},
    {0x4022, 0xA7, 0xff, 1},
	{0x4024, 0x5F, 0xff, 1},
	{0x4026, 0x97, 0xff, 1},
	{0x4028, 0x4F, 0xff, 1},

	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1},
	{0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t dol2_4k_30fps_1440Mbps_4lane_10bits[] = {
	{0x3000, 0x01, 0xff, 1}, /* standby */
	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1}, /* XTMSTA */

	{0x3008, 0x54, 0xff, 1},
	{0x300A, 0x3B, 0xff, 1},
	{0x3023, 0x00, 0xff, 1},
	{0x3024, 0xC7, 0xff, 1},
	{0x3028, 0x17, 0xff, 1},
	{0x302C, 0x01, 0xff, 1},
	{0x302D, 0x01, 0xff, 1},
	{0x3031, 0x00, 0xff, 1},
	{0x3032, 0x00, 0xff, 1},
	{0x3033, 0x08, 0xff, 1},
	{0x3050, 0x0A, 0xff, 1},
	{0x3051, 0x11, 0xff, 1},
	{0x3054, 0x09, 0xff, 1},
	{0x3060, 0x11, 0xff, 1},
	{0x30C1, 0x00, 0xff, 1},
	{0x30CF, 0x01, 0xff, 1},
	{0x3116, 0x23, 0xff, 1},
	{0x3118, 0xB4, 0xff, 1},
	{0x311A, 0xFC, 0xff, 1},
	{0x311E, 0x23, 0xff, 1},
	{0x32D4, 0x21, 0xff, 1},
	{0x32EC, 0xA1, 0xff, 1},
	{0x3452, 0x7F, 0xff, 1},
	{0x3453, 0x03, 0xff, 1},
	{0x358A, 0x04, 0xff, 1},
	{0x35A1, 0x02, 0xff, 1},
	{0x36BC, 0x0C, 0xff, 1},
	{0x36CC, 0x53, 0xff, 1},
	{0x36CD, 0x00, 0xff, 1},
	{0x36CE, 0x3C, 0xff, 1},
	{0x36D0, 0x8C, 0xff, 1},
	{0x36D1, 0x00, 0xff, 1},
	{0x36D2, 0x71, 0xff, 1},
	{0x36D4, 0x3C, 0xff, 1},
	{0x36D6, 0x53, 0xff, 1},
	{0x36D7, 0x00, 0xff, 1},
	{0x36D8, 0x71, 0xff, 1},
	{0x36DA, 0x8C, 0xff, 1},
	{0x36DB, 0x00, 0xff, 1},
	{0x3701, 0x00, 0xff, 1},
	{0x3724, 0x02, 0xff, 1},
	{0x3726, 0x02, 0xff, 1},
	{0x3732, 0x02, 0xff, 1},
	{0x3734, 0x03, 0xff, 1},
	{0x3736, 0x03, 0xff, 1},
	{0x3742, 0x03, 0xff, 1},
	{0x3862, 0xE0, 0xff, 1},
	{0x38CC, 0x30, 0xff, 1},
	{0x38CD, 0x2F, 0xff, 1},
	{0x395C, 0x0C, 0xff, 1},
	{0x3A42, 0xD1, 0xff, 1},
	{0x3A4C, 0x77, 0xff, 1},
	{0x3AE0, 0x02, 0xff, 1},
	{0x3AEC, 0x0C, 0xff, 1},
	{0x3B00, 0x2E, 0xff, 1},
	{0x3B06, 0x29, 0xff, 1},
	{0x3B98, 0x25, 0xff, 1},
	{0x3B99, 0x21, 0xff, 1},
	{0x3B9B, 0x13, 0xff, 1},
	{0x3B9C, 0x13, 0xff, 1},
	{0x3B9D, 0x13, 0xff, 1},
	{0x3B9E, 0x13, 0xff, 1},
	{0x3BA1, 0x00, 0xff, 1},
	{0x3BA2, 0x06, 0xff, 1},
	{0x3BA3, 0x0B, 0xff, 1},
	{0x3BA4, 0x10, 0xff, 1},
	{0x3BA5, 0x14, 0xff, 1},
	{0x3BA6, 0x18, 0xff, 1},
	{0x3BA7, 0x1A, 0xff, 1},
	{0x3BA8, 0x1A, 0xff, 1},
	{0x3BA9, 0x1A, 0xff, 1},
	{0x3BAC, 0xED, 0xff, 1},
	{0x3BAD, 0x01, 0xff, 1},
	{0x3BAE, 0xF6, 0xff, 1},
	{0x3BAF, 0x02, 0xff, 1},
	{0x3BB0, 0xA2, 0xff, 1},
	{0x3BB1, 0x03, 0xff, 1},
	{0x3BB2, 0xE0, 0xff, 1},
	{0x3BB3, 0x03, 0xff, 1},
	{0x3BB4, 0xE0, 0xff, 1},
	{0x3BB5, 0x03, 0xff, 1},
	{0x3BB6, 0xE0, 0xff, 1},
	{0x3BB7, 0x03, 0xff, 1},
	{0x3BB8, 0xE0, 0xff, 1},
	{0x3BBA, 0xE0, 0xff, 1},
	{0x3BBC, 0xDA, 0xff, 1},
	{0x3BBE, 0x88, 0xff, 1},
	{0x3BC0, 0x44, 0xff, 1},
	{0x3BC2, 0x7B, 0xff, 1},
	{0x3BC4, 0xA2, 0xff, 1},
	{0x3BC8, 0xBD, 0xff, 1},
	{0x3BCA, 0xBD, 0xff, 1},
	{0x4004, 0x00, 0xff, 1},
	{0x4005, 0x06, 0xff, 1},
	{0x4018, 0x9F, 0xff, 1},
	{0x401A, 0x57, 0xff, 1},
	{0x401C, 0x57, 0xff, 1},
	{0x401E, 0x87, 0xff, 1},
    {0x4020, 0x5F, 0xff, 1},
	{0x4022, 0xA7, 0xff, 1},
	{0x4024, 0x5F, 0xff, 1},
	{0x4026, 0x97, 0xff, 1},
	{0x4028, 0x4F, 0xff, 1},

	{0xFFFF, 1},
	{0x3002, 0x00, 0xff, 1},
	{0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t imx415_test_pattern[] = {
    {0x3000, 0x01, 0xff, 1}, /* standby */
    {0x300a, 0x00, 0xff, 1},
    {0x300e, 0x00, 0xff, 1},
    {0x300f, 0x00, 0xff, 1},
    {0x308c, 0x21, 0xff, 1},
    {0x0000, 0x0000, 0x0000, 0x0000},
};

static acam_reg_t settings_context_imx415[] = {
    //stop sequence - address is 0x0000
    { 0x0000, 0x0000, 0x0000, 0x0000 }
};

static const acam_reg_t *imx415_seq_table[] = {
	linear_1080p_30fps_1440Mbps_4lane_12bits,
	linear_4k_30fps_1440Mbps_2lane_10bits,
	dol2_1080p_30fps_1440Mbps_4lane_10bits,
	dol2_4k_30fps_1440Mbps_4lane_10bits,
	vc_4k_30fps_1440Mbps_4lane_10bits,
	imx415_test_pattern,
};

static const acam_reg_t *isp_seq_table[] = {
    settings_context_imx415,
};

#define SENSOR_IMX415_SEQUENCE_DEFAULT_LINEAR    0
#define SENSOR_IMX415_SEQUENCE_DEFAULT_WDR_1080P    1
#define SENSOR_IMX415_SEQUENCE_DEFAULT_TEST_PATTERN    3

#define SENSOR_IMX415_CONTEXT_SEQ 0
#endif /* __IMX415_SENSOR_H__ */
